package it.crosato.stage.server.model.comparison;

import it.crosato.stage.shared.objects.Match;
import it.crosato.stage.shared.objects.MultisetsGroup;

import java.util.Vector;

public interface IInvariantsComparator {

	/**
	 * Costruisce la matrice delle distanze utilizzando il metodo di
	 * rappresentazione basato sulle reti di Petri
	 * @param multisetsGrups vie metaboliche modellate come gruppi di multi-insiemi di
	 * reazioni o enzimi che rappresentano i T-invarianti minimali
	 * @param matches insieme dei match tra gli invarianti su cui fare side-effects
	 * @return la matrice di distanza
	 */
	public abstract double[][] getDistanceMatrix(
			MultisetsGroup[][] multisetsGroups, Vector<Match[][]> matches);

}